﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace InnovTech.AppFrame
{
    public interface IFunctionalComponent
    {
        object Id { get; }
        void RegisterSubcomponent(IFunctionalComponent subComponent);
        void UnregisterSubcompoent(IFunctionalComponent subComponent);
        void GetSubcomponent(object id);
        void GetSubcomponents<T>() where T : IFunctionalComponent;

        TUI CreateUI<TUI>(object uiModel);

    }
}
